//=======================================Copyright(c)===========================================
// 								  深圳易马达科技有限公司
//---------------------------------------文件信息----------------------------------------------
//文件名   	: BSPTaskDef.h
//创建人  	: Handry
//创建日期	:
//描述	    : 任务调度模块定义头文件
//-----------------------------------------------当前版本修订----------------------------------
//修改人   	:
//版本	    :
//修改日期	:
//描述	    :
//=============================================================================================
#ifndef _BSPTASKDEF_H
#define _BSPTASKDEF_H

//=============================================================================================
//包含头文件
//=============================================================================================
#include "BSPCriticalZoom.h"
#include "BSPTypeDef.h"

//=============================================================================================
//宏参数设定
//=============================================================================================
//任务ID定义，ID越小，优先级越高
#define TASK_MAX_NUM		20		//定义任务数目最大值 任务ID不能重复

#define	TASK_ID_TIMER10MS	1		//10ms定时任务优先级 任务ID不能重复(0-(TASK_MAX_NUM-1))
#define	TASK_ID_TIMER100MS	2		//100ms定时任务优先级 任务ID不能重复(0-(TASK_MAX_NUM-1))
#define	TASK_ID_TIMER250MS	3		//500ms定时任务优先级 任务ID不能重复(0-(TASK_MAX_NUM-1))

#define	TASK_ID_CAN_COMM_TASK	4		//通信处理任务
#define TASK_ID_IICDEAL_TASK    4       //IIC通信处理任务
#define	TASK_ID_SH367309_TASK	5		//处理任务AFE

#define	TASK_ID_WIFI_TASK       6
#define	TASK_ID_NB_IOT_TASK     8
#define	TASK_ID_MAX17205_TASK	6		//电量计处理任务
#define	TASK_ID_SAMPLE_TASK		7		//温度/电压采样处理任务
#define	TASK_ID_PCF85063_TASK	9		//RTC处理任务
#define	TASK_ID_STORAGE_TASK	10		//存储处理任务，操作flash
#define	TASK_ID_PCBTEST_TASK	11		//PCB板级任务

#define	TASK_ID_NFC_TASK		12		//NFC处理任务
#define	TASK_ID_COMM_TASK		13		//通信处理任务
#define TASK_ID_ACCELERO_TASK   14      //DA213加速度计任务

#ifdef CANBUS_MODE_JT808_ENABLE
#define	TASK_ID_JT808_TASK		15		// CAN jt808通信
#endif

#ifdef BMS_ENABLE_LITTLE_CURRENT_DET
#define	TASK_ID_LOW_CURR_SAM_TASK	16	//小电流检测采样处理任务
#endif

//=============================================================================================
//定义数据类型
//=============================================================================================

//=============================================================================================
//声明接口函数
//=============================================================================================
//=============================================================================================
//函数名称	: void BSPTaskDefInit(void)
//输入参数	: void  
//输出参数	: void
//函数功能	: 任务定义初始化
//注意事项	: 
//=============================================================================================
void BSPTaskDefInit(void);

//=============================================================================================
//函数名称	: void BSPTaskDefTimer10ms(void *p)
//输入参数	: *p 未使用,语法需要 
//输出参数	: void
//函数功能	: 驱动10ms的定时任务 
//注意事项	:  
//=============================================================================================
void BSPTaskDefTimer10ms(void *p);

//=============================================================================================
//函数名称	: void BSPTaskDefTimer100ms(void *p)
//输入参数	: *p 未使用,语法需要 
//输出参数	: void
//函数功能	: 驱动100ms的定时任务 
//注意事项	:  
//=============================================================================================
void BSPTaskDefTimer100ms(void *p);

//=============================================================================================
//函数名称	: void BSPTaskDefTimer250ms(void *p)
//输入参数	: *p 未使用,语法需要
//输出参数	: void
//函数功能	: 驱动250ms的定时任务 
//注意事项	:  
//=============================================================================================
void BSPTaskDefTimer250ms(void *p);

#endif

/*****************************************end of BSPTaskDef.h*****************************************/
